<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  <title>git | Matrix207&#39;s Blog</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="what you should know
status of files, “untracked, unmodified, modified, staged”
branch include master, brance A, brance B, and so on

helpwhen you don’t know what to do first, you can use the help co">
<meta property="og:type" content="article">
<meta property="og:title" content="git">
<meta property="og:url" content="http://yoursite.com/2013/01/25/git/index.html">
<meta property="og:site_name" content="Matrix207's Blog">
<meta property="og:description" content="what you should know
status of files, “untracked, unmodified, modified, staged”
branch include master, brance A, brance B, and so on

helpwhen you don’t know what to do first, you can use the help co">
<meta property="og:image" content="http://yoursite.com/assets/image/posts/git-branch-model.png">
<meta property="og:image" content="http://git-scm.com/book/en/v2/book/05-distributed-git/images/small-team-flow.png">
<meta property="og:updated_time" content="2016-07-17T14:33:55.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="git">
<meta name="twitter:description" content="what you should know
status of files, “untracked, unmodified, modified, staged”
branch include master, brance A, brance B, and so on

helpwhen you don’t know what to do first, you can use the help co">
<meta name="twitter:image" content="http://yoursite.com/assets/image/posts/git-branch-model.png">
  
    <link rel="alternate" href="/atom.xml" title="Matrix207&#39;s Blog" type="application/atom+xml">
  
  
    <link rel="icon" href="/favicon.png">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  <link rel="stylesheet" href="/css/style.css">
  

</head>

<body>
  <div id="container">
    <div id="wrap">
      <header id="header">
  <div id="banner"></div>
  <div id="header-outer" class="outer">
    <div id="header-title" class="inner">
      <h1 id="logo-wrap">
        <a href="/" id="logo">Matrix207&#39;s Blog</a>
      </h1>
      
    </div>
    <div id="header-inner" class="inner">
      <nav id="main-nav">
        <a id="main-nav-toggle" class="nav-icon"></a>
        
          <a class="main-nav-link" href="/">Home</a>
        
          <a class="main-nav-link" href="/archives">Archives</a>
        
      </nav>
      <nav id="sub-nav">
        
          <a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="Flux RSS"></a>
        
        <a id="nav-search-btn" class="nav-icon" title="Rechercher"></a>
      </nav>
      <div id="search-form-wrap">
        <form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" results="0" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://yoursite.com"></form>
      </div>
    </div>
  </div>
</header>
      <div class="outer">
        <section id="main"><article id="post-git" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/2013/01/25/git/" class="article-date">
  <time datetime="2013-01-24T16:00:00.000Z" itemprop="datePublished">2013-01-25</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/tools/">tools</a>
  </div>

  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 class="article-title" itemprop="name">
      git
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <p><img src="/assets/image/posts/git-branch-model.png" alt="Git Branching Model"></p>
<h3 id="what-you-should-know"><a href="#what-you-should-know" class="headerlink" title="what you should know"></a>what you should know</h3><ul>
<li>status of files, “untracked, unmodified, modified, staged”</li>
<li>branch include master, brance A, brance B, and so on</li>
</ul>
<h3 id="help"><a href="#help" class="headerlink" title="help"></a>help</h3><p>when you don’t know what to do first, you can use the <code>help</code> command.</p>
<ul>
<li><code>git --help</code></li>
<li><code>git sub-command --help</code>, e.g: <code>git commit --help</code>, <code>git checkout --help</code></li>
</ul>
<h3 id="config"><a href="#config" class="headerlink" title="config"></a>config</h3><ul>
<li><code>ssh-keygen -t rsa -C &quot;youremailname@gmail.com</code></li>
<li><code>git config --global core.editor &quot;vim&quot;</code></li>
<li><code>git config --global user.email &quot;abc@gmail.com&quot;</code></li>
<li><code>git config --global user.name &quot;matrix207&quot;</code></li>
<li><code>git config --global color.status auto</code></li>
<li><code>git config --global color.diff auto</code></li>
<li><code>git config --global color.branch auto</code></li>
<li><code>git config --global color.branch auto</code></li>
<li><code>git config --global color.paper &quot;less -r&quot;</code> avoid escape characters in <code>git log|diff</code></li>
<li><code>git mergetool --tool=vimdiff</code></li>
<li>list configuration: <code>git config -l</code></li>
<li>cat ~/.gitconfig</li>
<li>git auto completion, git-completion.bash<br><a href="https://github.com/git/git/blob/master/contrib/completion/git-completion.bash" target="_blank" rel="external">https://github.com/git/git/blob/master/contrib/completion/git-completion.bash</a></li>
</ul>
<h3 id="Basic"><a href="#Basic" class="headerlink" title="Basic"></a>Basic</h3><ul>
<li><code>git clone url</code></li>
<li><code>git pull</code> fetch data and try to merge it the working code</li>
<li><code>git fetch</code> only fetch data</li>
<li><code>git status</code><br><code>git status -uno</code> not show untracked files</li>
<li><code>git diff</code><ul>
<li><code>git diff --cached</code> view difference of staged files</li>
<li><code>git diff COMMIT_ONE COMMIT_TWO file</code> view difference for specify file between two commit version</li>
<li><code>git diff fa510^ fa510</code> view difference between previous and specify commit version</li>
</ul>
</li>
<li><code>git rm files</code><br><code>git rm -r path</code> remove directory  </li>
<li><code>git add files</code>  <ul>
<li><code>git add .</code> add all files in current directory  </li>
<li><code>git add -u ./</code> only add tracked files to stage</li>
</ul>
</li>
<li><code>git mv path_fileA path_fileB</code></li>
<li><code>git checkout featureA</code> switch to branch featureA</li>
<li><code>git checkout a.h</code> restore file, if you also have a branch named a.h, should use git checkout – a.h”</li>
<li><code>git reset file</code> unstage file (remove from staged to modified status)</li>
<li><code>git commit</code> commit message with specify editor<br><code>git commit file -m &quot;comment here&quot;</code></li>
<li><code>git remote -v</code></li>
<li><code>git log</code><ul>
<li><code>git log -p -2</code> difference between the latest 2 update</li>
<li><code>git log --stat</code> show detail of changed files</li>
<li><code>git log --author=&quot;dennis&quot;</code> filter log by author</li>
<li><code>git log commit_version</code> </li>
<li><code>git log -S &#39;XXX&#39; file</code> view commit info of specify code of file</li>
<li><code>git log --no-merges</code> not show merge log</li>
</ul>
</li>
<li><code>git clean -f -n</code> Show what will be deleted with the -n option<br><code>git clean -f</code> remove untracked files<br><code>git clean -fd</code> remove untracked files<br><code>git help clean</code> for more information</li>
<li><code>git stash</code> add current modify files to stash<ul>
<li><code>git stash pop</code> pop stash files</li>
<li><code>git stash list</code></li>
<li><code>git stash show</code></li>
<li><code>git help stash</code></li>
</ul>
</li>
</ul>
<h3 id="Advance"><a href="#Advance" class="headerlink" title="Advance"></a>Advance</h3><ul>
<li><code>git reset file</code> undo git add<br><code>git checkout HEAD /path/file</code> undo git operation(rm/modify and so on) on file<br><code>git rm $(git ls-files --deleted)</code> undo git rm multiple files<br><code>git reset --hard origin/master</code> cancel local modify<br><code>git reset --soft HEAD~1</code><br><code>git help reset</code></li>
<li><code>git merge</code><ul>
<li><code>git merge --squash</code> merge code without commit</li>
<li><code>git merge --no-commit</code></li>
</ul>
</li>
<li><code>git branch</code> show all local branch, tell you which is the current branch<br><code>git branch -a</code> show all branch, both local and remote<br><code>git branch -vv</code> print the name of the upstream branch<br><code>git branch --contains &lt;commit&gt;</code> find which local branch contain the specify commit<br><code>git branch -r --contains &lt;commit&gt;</code> find which remote branch contain the specify commit<br><code>git help branch</code> for more</li>
<li>fork+pull</li>
<li><code>git commit --amend</code></li>
<li><code>git blame file</code> view all change info of each line</li>
<li><code>git push origin :branch_name</code> delete remote branch</li>
<li><code>git remote update --prune</code> update remote branch information on local</li>
<li><code>git for-each-ref --format=&#39;%(committerdate) %09 %(authorname) %09 %(refname)&#39;\
 |sort -k5n -k2M -k3n -k4n</code> list remote git branches by author</li>
<li><code>git status --short |awk &#39;$1 ~/^M|A|U/ {print $2}&#39;</code> only show modified files<br><code>vim $(git status --short |awk &#39;$1 ~/^M|A|U/ {print $2}&#39;)</code> editor all modified files by vim</li>
<li><code>git rev-parse</code><ul>
<li><code>git rev-parse HEAD</code> show commit SHA1 of HEAD</li>
</ul>
</li>
<li><code>git log -L</code> show lines history</li>
</ul>
<h3 id="other-command"><a href="#other-command" class="headerlink" title="other command"></a>other command</h3><ul>
<li>git commit –fix-up</li>
</ul>
<h3 id="tags"><a href="#tags" class="headerlink" title="tags"></a>tags</h3><ul>
<li><code>git tag -a v0.1 -m &#39;new tag version 0.1&#39;</code> add tag</li>
<li><code>git push origin master v0.1</code> push tag to origin</li>
</ul>
<h3 id="Skills"><a href="#Skills" class="headerlink" title="Skills"></a>Skills</h3><ul>
<li>reset repository to specify commit version<ul>
<li><code>git clone [remote_address_here] my_repo</code></li>
<li><code>cd my_repo</code></li>
<li><code>git reset --hard [ENTER HERE THE COMMIT HASH YOU WANT]</code></li>
</ul>
</li>
<li>view history version of specify file<ul>
<li><code>git show HEAD:[THE FILE YOU WANT]</code></li>
<li><code>git show HEAD:[THE FILE YOU WANT] &gt; NEW_NAME</code> checkout history commit file</li>
<li><code>git log FILE_PATH</code>, e.g: git log ./log.cc</li>
</ul>
</li>
<li>restore file which was deleted at latest commit.<ul>
<li>first, checkout the file <code>git checkout HEAD^ -- a.txt</code></li>
<li>second, commit <code>git add a.txt &amp;&amp;git commit -m &quot;recover a.txt&quot; &amp;&amp;git push</code></li>
</ul>
</li>
<li><p>multi line comment for commit</p>
<pre><code>[dennis@localhost git]$ mkdir abc
[dennis@localhost git]$ cd abc
[dennis@localhost abc]$ git init
[dennis@localhost abc]$ echo &quot;123&quot;&gt;&gt;1.txt
[dennis@localhost abc]$ git commit -m &quot;first commit
&gt; 
&gt; - test log1
&gt; - test log2&quot;
[dennis@localhost abc]$ git log
commit 98e983f0fdae5ef292083bb5ce288e9344a46751
Author: Dennis &lt;dennis.cpp@gmail.com&gt;
Date:   Fri Aug 1 09:02:52 2014 +0800

    first commit

    - test log1
    - test log2
</code></pre></li>
<li><p>merge commit history</p>
<ul>
<li><code>git rebase -i HEAD~2</code>, modify the second ‘pick’ to ‘squash’ to merge the<br>last two commit into one; If want merge more, just modify 2 to other digit.</li>
<li><code>git push --force origin LOCAL-branch:REMOTE-branch</code>, push to remote repository</li>
</ul>
</li>
<li><p>modify the latest commit (or using for merge commit history)</p>
<ul>
<li><code>git reset --soft HEAD~1</code>, or <code>git reset --soft &lt;commit id&gt;</code> to edit last<br>serval commits.</li>
<li>… do something else for the modification …</li>
<li><code>git commit -c ORIG_HEAD</code> to changed the commit message, or use<br><code>git commit -C ORIG_HEAD</code> to reuse the previous message</li>
<li>reference <code>git help commit</code>, see the <code>--amend</code></li>
</ul>
</li>
<li><p>summary statics</p>
<ul>
<li><code>git log --author=&quot;$(git config --get user.name)&quot; --pretty=tformat: --numstat \
|awk &#39;{add+=$1;subs+=$2;loc+=$1-$2} END{printf &quot;added lines: %s removed lines \
: %s total lines: %s\n&quot;,add,subs,loc}&#39; -</code> count total submit lines of code by author</li>
<li><code>git shortlog -s -n</code> count summary commits by author and sort</li>
<li><code>git log --pretty=&#39;%aN&#39; | sort | uniq -c | sort -k1 -n -r | head -n 5</code> List top 5 commiter</li>
</ul>
</li>
<li><p>add local repository to remote</p>
<ul>
<li><code>git add remote git-url</code></li>
<li><code>git remote -v</code></li>
<li><code>git push origin master</code></li>
</ul>
</li>
</ul>
<h3 id="Find-the-modified-commit-quickly"><a href="#Find-the-modified-commit-quickly" class="headerlink" title="Find the modified commit quickly"></a>Find the modified commit quickly</h3><p>Assume you find that a function was delete in the current commit, and want to<br>find which commit changed this.</p>
<p>Normally, you will work as below:</p>
<ol>
<li><code>git log FILE-INCLUDE-THE-FUNCTION</code> to list the commit history of the file<br>which function belong to.</li>
<li><code>git show COMMIT-SHA</code> and search by the function name</li>
</ol>
<p>The disadvantage of this method:</p>
<ol>
<li>If there lots commit history it would be hard to find.</li>
<li>It depend the human eyes, ;）, which easy to make mistake sometimes.</li>
</ol>
<p>So, we want a script to execute this task:</p>
<ol>
<li>Use <code>git log --pretty=tformat:%h --after 2015-01-05 FILE</code> filter by date, and<br>only show commit hash. <code>git rev-list --all --after 2013-03 FILE</code> work as well<br>too.</li>
<li>Use <code>git show COMMIT-SHA |grep &#39;KEY-WORDS&#39;</code> to do searching.</li>
</ol>
<p>With such two skills, we can write bash command as below:<br><code>git log --pretty=tformat:%h --after 2013-01 FILE |xargs git show |grep -i KEY-WORDS</code></p>
<h3 id="Conflict-handle"><a href="#Conflict-handle" class="headerlink" title="Conflict handle"></a>Conflict handle</h3><ul>
<li>git config –global mergetool=vimdiff</li>
<li>fugitive</li>
<li>reference<ul>
<li><a href="http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/" target="_blank" rel="external">http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/</a></li>
<li><a href="http://blog.jobbole.com/97911/" target="_blank" rel="external">http://blog.jobbole.com/97911/</a></li>
<li><a href="http://blog.csdn.net/redguardtoo/article/details/9076961" target="_blank" rel="external">http://blog.csdn.net/redguardtoo/article/details/9076961</a></li>
<li><a href="http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/" target="_blank" rel="external">http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/</a></li>
</ul>
</li>
</ul>
<h3 id="Other"><a href="#Other" class="headerlink" title="Other"></a>Other</h3><p>Auto pull project, bash script</p>
<pre><code>#!/bin/bash

exclude_dir=&quot;-I test -I hello&quot;

for i in `ls $exclude_dir`
do
{
    if [ -d $i ]; then
        (cd $i; echo update `pwd`; git pull)
    fi
}
done
</code></pre><h3 id="gitignore"><a href="#gitignore" class="headerlink" title="gitignore"></a>gitignore</h3><p>define ignore files in <code>.gitignore</code>  </p>
<pre><code># ignore all .*.swp files
.*.swp
# ignore all *.out files
*.out
# ignore all *.o files
src/*.o
# files in folder
_site/*
</code></pre><p>another example:</p>
<pre><code># Object files
*.o
*.ko
*.obj
*.elf

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex
</code></pre><p>again:</p>
<pre><code>_site/*
_theme_packages/*

Thumbs.db
.DS_Store

!.gitkeep

.rbenv-version
.rvmrc
</code></pre><h3 id="good-commit-message"><a href="#good-commit-message" class="headerlink" title="good commit message"></a>good commit message</h3><p>Structure your commit message like this:</p>
<p>From: <a href="http://git-scm.com/book/ch5-2.html" target="_blank" rel="external">http://git-scm.com/book/ch5-2.html</a></p>
<p>Short (50 chars or less) summary of changes</p>
<pre><code>More detailed explanatory text, if necessary.  Wrap it to about 72
characters or so.  In some contexts, the first line is treated as the
subject of an email and the rest of the text as the body.  The blank
line separating the summary from the body is critical (unless you omit
the body entirely); tools like rebase can get confused if you run the
two together.

Further paragraphs come after blank lines.

 - Bullet points are okay, too

 - Typically a hyphen or asterisk is used for the bullet, preceded by a
   single space, with blank lines in between, but conventions vary here

 - Use a hanging indent 
</code></pre><h3 id="Team-work-A"><a href="#Team-work-A" class="headerlink" title="Team work A"></a>Team work A</h3><ul>
<li>git clone url</li>
<li>git checkout -b featureA  // create a branch, named “featureA”</li>
<li>coding</li>
<li>git commit -am “ADD COMMENT HERE”</li>
<li>git rebase -i  // make all commit to be one </li>
<li>git push origin featureA  // push your branch to origin<br><img src="http://git-scm.com/book/en/v2/book/05-distributed-git/images/small-team-flow.png" alt="The general sequence is something like this"></li>
</ul>
<h3 id="Team-work-B"><a href="#Team-work-B" class="headerlink" title="Team work B"></a>Team work B</h3><ul>
<li>step 1: git check -b branchT1 remotes/origin/branchT1 (you can change your local branch “branchT1” other name if you want)</li>
<li>step 2: do your coding</li>
<li>step 3: commit your changeds code to your local branch “branchT1”</li>
<li>step 4: loop step 2 and step 3</li>
<li>step 5: git pull origin branchT1 (fetch and merge code, if you not mean do merge, using fetch instead?)</li>
<li>step 6: git push remotes/origin/branchT1</li>
</ul>
<h3 id="Reference"><a href="#Reference" class="headerlink" title="Reference"></a>Reference</h3><ul>
<li><a href="http://git-scm.com/book/zh" target="_blank" rel="external">Pro Git</a></li>
<li><a href="http://www.worldhello.net/gotgithub/index.html" target="_blank" rel="external">GotGitHub</a></li>
<li><a href="http://nvie.com/posts/a-successful-git-branching-model/" target="_blank" rel="external">A successful Git branching model</a></li>
<li><a href="http://git-scm.com/book/ch5-2.html#Commit-Guidelines" target="_blank" rel="external">Commit guidelines</a></li>
<li><a href="http://www.fwolf.com/blog/post/14" target="_blank" rel="external">Git commit 注释格式</a></li>
<li><a href="https://github.com/github/gitignore" target="_blank" rel="external">gitignore</a></li>
<li><a href="http://stackoverflow.com/questions/3555107/git-clone-particular-version-of-remote-repository" target="_blank" rel="external">Git clone particular version of remote repository</a></li>
<li><a href="http://blog.csdn.net/yihui823/article/details/6681214" target="_blank" rel="external">GIT入门之二：版本历史/回溯</a></li>
<li><a href="http://gitready.com/about.html" target="_blank" rel="external">git ready</a></li>
<li><a href="http://backlogtool.com/git-guide/cn" target="_blank" rel="external">猴子都能懂的GIT入门</a></li>
</ul>

      
    </div>
    <footer class="article-footer">
      <a data-url="http://yoursite.com/2013/01/25/git/" data-id="ciqqpe1ha002mnmpvdskkoh77" class="article-share-link">Partager</a>
      
      
  <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/git/">git</a></li></ul>

    </footer>
  </div>
  
    
<nav id="article-nav">
  
    <a href="/2013/01/29/valuable-info/" id="article-nav-newer" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Récent</strong>
      <div class="article-nav-title">
        
          valuable article
        
      </div>
    </a>
  
  
    <a href="/2013/01/25/emacs/" id="article-nav-older" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Ancien</strong>
      <div class="article-nav-title">emacs</div>
    </a>
  
</nav>

  
</article>

</section>
        
          <aside id="sidebar">
  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Catégories</h3>
    <div class="widget">
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/blog/">blog</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/database/">database</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/english/">english</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/kernel/">kernel</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/language/">language</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/linux/">linux</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/math/">math</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/network/">network</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/others/">others</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/person/">person</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/program/">program</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/source/">source</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/storage/">storage</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/tools/">tools</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/windows/">windows</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Mot-clés</h3>
    <div class="widget">
      <ul class="tag-list"><li class="tag-list-item"><a class="tag-list-link" href="/tags/FAQ/">FAQ</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/IRC/">IRC</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Translation/">Translation</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/android/">android</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/api/">api</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/assembly/">assembly</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/awk/">awk</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/batch/">batch</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/blog/">blog</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/book/">book</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/c/">c</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/c/">c++</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/cache/">cache</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/crash/">crash</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/database/">database</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/debug/">debug</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/dot/">dot</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/driver/">driver</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/emacs/">emacs</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/exploit/">exploit</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/file-system/">file system</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/filesystem/">filesystem</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/flowchart/">flowchart</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/gcc/">gcc</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/git/">git</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/google/">google</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/graphviz/">graphviz</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/hexo/">hexo</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/hosts/">hosts</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/iscsi/">iscsi</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/java/">java</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/javascript/">javascript</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/job/">job</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/json/">json</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/kernel/">kernel</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/linux/">linux</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/lisp/">lisp</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/lua/">lua</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/makefile/">makefile</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/malloc/">malloc</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/math/">math</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/maxima/">maxima</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/memory/">memory</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/memory-overflow/">memory overflow</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/mtrace/">mtrace</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/netdisk/">netdisk</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/network/">network</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/others/">others</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/pandoc/">pandoc</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/performance/">performance</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/person/">person</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/protobuf/">protobuf</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/python/">python</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/rsync/">rsync</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/sed/">sed</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/shell/">shell</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/skype/">skype</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/sms/">sms</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/source/">source</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/ssh/">ssh</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/stack/">stack</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/storage/">storage</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/study/">study</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/svn/">svn</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/sync/">sync</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/test/">test</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/time/">time</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/tools/">tools</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/valgrind/">valgrind</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/vi/">vi</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/vim/">vim</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/virtual/">virtual</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/wget/">wget</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/windows/">windows</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/wireshark/">wireshark</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/write/">write</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/xml/">xml</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Nuage de mot-clés</h3>
    <div class="widget tagcloud">
      <a href="/tags/FAQ/" style="font-size: 10px;">FAQ</a> <a href="/tags/IRC/" style="font-size: 10px;">IRC</a> <a href="/tags/Translation/" style="font-size: 13px;">Translation</a> <a href="/tags/android/" style="font-size: 10px;">android</a> <a href="/tags/api/" style="font-size: 10px;">api</a> <a href="/tags/assembly/" style="font-size: 10px;">assembly</a> <a href="/tags/awk/" style="font-size: 11px;">awk</a> <a href="/tags/batch/" style="font-size: 14px;">batch</a> <a href="/tags/blog/" style="font-size: 10px;">blog</a> <a href="/tags/book/" style="font-size: 10px;">book</a> <a href="/tags/c/" style="font-size: 16px;">c</a> <a href="/tags/c/" style="font-size: 19px;">c++</a> <a href="/tags/cache/" style="font-size: 10px;">cache</a> <a href="/tags/crash/" style="font-size: 10px;">crash</a> <a href="/tags/database/" style="font-size: 17px;">database</a> <a href="/tags/debug/" style="font-size: 12px;">debug</a> <a href="/tags/dot/" style="font-size: 10px;">dot</a> <a href="/tags/driver/" style="font-size: 10px;">driver</a> <a href="/tags/emacs/" style="font-size: 11px;">emacs</a> <a href="/tags/exploit/" style="font-size: 10px;">exploit</a> <a href="/tags/file-system/" style="font-size: 10px;">file system</a> <a href="/tags/filesystem/" style="font-size: 12px;">filesystem</a> <a href="/tags/flowchart/" style="font-size: 10px;">flowchart</a> <a href="/tags/gcc/" style="font-size: 10px;">gcc</a> <a href="/tags/git/" style="font-size: 12px;">git</a> <a href="/tags/google/" style="font-size: 11px;">google</a> <a href="/tags/graphviz/" style="font-size: 11px;">graphviz</a> <a href="/tags/hexo/" style="font-size: 10px;">hexo</a> <a href="/tags/hosts/" style="font-size: 10px;">hosts</a> <a href="/tags/iscsi/" style="font-size: 14px;">iscsi</a> <a href="/tags/java/" style="font-size: 10px;">java</a> <a href="/tags/javascript/" style="font-size: 10px;">javascript</a> <a href="/tags/job/" style="font-size: 10px;">job</a> <a href="/tags/json/" style="font-size: 10px;">json</a> <a href="/tags/kernel/" style="font-size: 14px;">kernel</a> <a href="/tags/linux/" style="font-size: 14px;">linux</a> <a href="/tags/lisp/" style="font-size: 10px;">lisp</a> <a href="/tags/lua/" style="font-size: 10px;">lua</a> <a href="/tags/makefile/" style="font-size: 10px;">makefile</a> <a href="/tags/malloc/" style="font-size: 10px;">malloc</a> <a href="/tags/math/" style="font-size: 11px;">math</a> <a href="/tags/maxima/" style="font-size: 10px;">maxima</a> <a href="/tags/memory/" style="font-size: 11px;">memory</a> <a href="/tags/memory-overflow/" style="font-size: 10px;">memory overflow</a> <a href="/tags/mtrace/" style="font-size: 10px;">mtrace</a> <a href="/tags/netdisk/" style="font-size: 10px;">netdisk</a> <a href="/tags/network/" style="font-size: 20px;">network</a> <a href="/tags/others/" style="font-size: 18px;">others</a> <a href="/tags/pandoc/" style="font-size: 10px;">pandoc</a> <a href="/tags/performance/" style="font-size: 16px;">performance</a> <a href="/tags/person/" style="font-size: 11px;">person</a> <a href="/tags/protobuf/" style="font-size: 11px;">protobuf</a> <a href="/tags/python/" style="font-size: 10px;">python</a> <a href="/tags/rsync/" style="font-size: 10px;">rsync</a> <a href="/tags/sed/" style="font-size: 11px;">sed</a> <a href="/tags/shell/" style="font-size: 15px;">shell</a> <a href="/tags/skype/" style="font-size: 11px;">skype</a> <a href="/tags/sms/" style="font-size: 10px;">sms</a> <a href="/tags/source/" style="font-size: 11px;">source</a> <a href="/tags/ssh/" style="font-size: 10px;">ssh</a> <a href="/tags/stack/" style="font-size: 10px;">stack</a> <a href="/tags/storage/" style="font-size: 15px;">storage</a> <a href="/tags/study/" style="font-size: 10px;">study</a> <a href="/tags/svn/" style="font-size: 11px;">svn</a> <a href="/tags/sync/" style="font-size: 10px;">sync</a> <a href="/tags/test/" style="font-size: 11px;">test</a> <a href="/tags/time/" style="font-size: 10px;">time</a> <a href="/tags/tools/" style="font-size: 16px;">tools</a> <a href="/tags/valgrind/" style="font-size: 10px;">valgrind</a> <a href="/tags/vi/" style="font-size: 10px;">vi</a> <a href="/tags/vim/" style="font-size: 14px;">vim</a> <a href="/tags/virtual/" style="font-size: 11px;">virtual</a> <a href="/tags/wget/" style="font-size: 10px;">wget</a> <a href="/tags/windows/" style="font-size: 11px;">windows</a> <a href="/tags/wireshark/" style="font-size: 10px;">wireshark</a> <a href="/tags/write/" style="font-size: 13px;">write</a> <a href="/tags/xml/" style="font-size: 10px;">xml</a>
    </div>
  </div>

  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Archives</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/07/">July 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/04/">April 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/03/">March 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/02/">February 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/01/">January 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/11/">November 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/10/">October 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/09/">September 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/08/">August 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/07/">July 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/06/">June 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/03/">March 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/02/">February 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/01/">January 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/12/">December 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/11/">November 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/09/">September 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/08/">August 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/07/">July 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/06/">June 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/05/">May 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/04/">April 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/03/">March 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/11/">November 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/10/">October 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/09/">September 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/08/">August 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/07/">July 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/06/">June 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/05/">May 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/04/">April 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/03/">March 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/02/">February 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/01/">January 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2012/12/">December 2012</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2012/09/">September 2012</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Articles récents</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/2016/07/17/how-to-implement-malloc/">如何实现一个malloc</a>
          </li>
        
          <li>
            <a href="/2016/07/17/study-grep-more/">grep工作原理</a>
          </li>
        
          <li>
            <a href="/2016/07/17/2016-04-13-malloc/">malloc</a>
          </li>
        
          <li>
            <a href="/2016/04/27/include-what-you-use/">使用IWYU整理头文件引用</a>
          </li>
        
          <li>
            <a href="/2016/04/24/understand-gcc-assembly-output/">understand gcc assembly output</a>
          </li>
        
      </ul>
    </div>
  </div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      &copy; 2016 Matrix207<br>
      Propulsé by <a href="http://hexo.io/" target="_blank">Hexo</a>
    </div>
  </div>
</footer>
    </div>
    <nav id="mobile-nav">
  
    <a href="/" class="mobile-nav-link">Home</a>
  
    <a href="/archives" class="mobile-nav-link">Archives</a>
  
</nav>
    

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>


  <link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
  <script src="/fancybox/jquery.fancybox.pack.js"></script>


<script src="/js/script.js"></script>

  </div>
</body>
</html>